PHLEGM v6 - Display reload fix - 2026-1004-1656-5024 America/Phoenix

Finding
-------
Machine selection still reached MachineShowDisplay(), created/reused the host display,
and invalidated it, but the initial show path no longer forced a paint. The asynchronous
presentation change correctly removed UpdateWindow() from MachinePresentDisplayNow(),
but that also removed the previously required first-paint guarantee when a replacement
machine display is explicitly shown.

Fix
---
- Keep MachinePresentDisplayNow() asynchronous for periodic emulation refresh.
- In MachineShowDisplay(), after the framebuffer latch/filter sizing and host invalidation,
  force exactly one UpdateWindow() for the explicit/new display show.
- Rebase emulation timing after that host-only synchronous paint so display creation does
  not create catch-up debt.
- Add validate_display_reload.py to guard both sides of the contract.

Validation
----------
- 24/24 Python validators pass.
- machine-runtime.bi remains CRLF-only.
- Native Windows FreeBASIC compilation was not available in the sandbox used for this checkpoint.
